Modelo de efectos mixtos, machine learning y deep learning
Resumen de trabajos de interés
Un pequeño repaso
La inteligencia artificial es el nombre de todo un campo de conocimiento, similar a la biologÃa o la quÃmica. El machine learning es una rama de la inteligencia artificial que viene ganando popularidad.
Las redes neuronales son uno de los tipos de machine learning. Uno popular, pero hay otros también muy buenos. El deep learning es un método moderno de construcción, capacitación y uso de redes neuronales. Básicamente, es una nueva arquitectura.
Un pequeño repaso
Nunca hay una única forma de resolver un problema en el mundo del machine learning. Siempre hay varios algoritmos que se ajustan, y se debe elegir el mejor.
Las técnicas y métodos de machine learning pueden funcionar con una gran cantidad de datos complejos, de alta dimensión y enormes, y pueden usarse para desarrollar modelos de regresión y clasificación.
Un pequeño repaso
Un pequeño repaso
En el aprendizaje supervisado, el modelo simplemente aprende a mapear las caracterÃsticas de entrada dadas o la variable predictora \(\small x\) y la variable de salida o respuesta \(\small y\) en los conjuntos de datos de entrenamiento. La muestra de entrenamiento actúa como supervisor en el proceso de aprendizaje.
En el aprendizaje supervisado, cuando la variable de salida es un valor categórico o discreto, entonces es clasificación, pero cuando la variable de salida es un valor continuo, entonces es una regresión. Aquà un video sobre esto.
Un pequeño repaso
La fórmula simple para explicar el problema de regresión (en el estudio a desarrollar se esta interesado en el problema de regresión) viene dada por la ecuación:
\[\small y = f(x) + b\]
El propósito de la regresión es estimar el valor de la variable respuesta \(\small y\) utilizando la función \(\small f(x)\) a partir de conjuntos de datos de entrada dados y su término de errores.
En la regresión, el modelo aprende de los datos en diversas técnicas para minimizar el sesgo y la varianza hasta que en algún momento la predicción del modelo haya logrado el mejor ajuste.
Un pequeño repaso
Se pueden usar muchos algoritmos de regresión de machine learning para predecir la salida continua:
1. Random forest (bosque aleatorio)
Para entender el bosque aleatorio se necesita primero introducir el concepto de árboles de decisión.
Un pequeño repaso
Un árbol de decisión (como se pudo observar en la imagen anterior) es una estructura similar a un diagrama de flujo, en la que cada nodo interno representa una prueba sobre un atributo del conjunto de datos, cada rama representa el resultado de la prueba y cada hoja representa una etiqueta de clase.
Asà que el algoritmo hará las pruebas sobre los datos, descubriendo cuáles son las caracterÃsticas más relevantes del conjunto de datos para predecir un determinado resultado, y separando en consecuencia el conjunto de datos.
Un pequeño repaso
El bosque aleatorio se compone de árboles de decisión de distinta profundidad y hojas generadas dada la cantidad de caracterÃsticas en los datos. RF utiliza aleatoriamente un subconjunto de caracterÃsticas en lugar de todas ellas.
El número de ramas en cada árbol, puede medirse comenzando desde la parte superior o la raÃz hasta el cÃrculo rojo a través de varios niveles de nodos divididos (L1, L2, …, Ln).
Un pequeño repaso
Cuantas más divisiones tenga el árbol, más información de profundidad se puede capturar de los datos, lo que reduce el sesgo. Cada nodo de decisión tiene varios números de muestras, pero al menos tiene una muestra. Como es un árbol en la naturaleza, también tiene una hoja.
Similar al nodo de decisión, la hoja dividida requiere mÃnimo una muestra. A diferencia del nodo de decisión, el nodo de hoja no tiene hijos.
Un pequeño repaso
En general, el bosque aleatorio es un técnica de conjunto capaz de realizar tareas de regresión con el uso de múltiples árboles de decisión y una técnica llamada bootstrap aggregation, comúnmente conocida como bagging.
Esta técnica, implica entrenar cada árbol de decisión en una muestra de datos diferentes donde el muestreo se realiza con reemplazo:
Un pequeño repaso
El estimador de regresión de bosque aleatorio es igual a:
\[\small \hat{f^{I}}(x) = \frac{\sum^{I}_{i = 1}t^{*}_{i}(x)}{I}\]
donde \(\small \hat{f^{I}}(x)\) es un estimador de bosque aleatorio, bootstrap individual de la muestra \(\small i\), \(\small I\) es el número total de árboles que representan el número de estimadores, y \(\small t^{*}_{i}(x)\) es la función del árbol de decisión individual que es igual a \(\small t^{*}_{i}(x) = t(X; Z^{*}_{i1},... Z^{*}_{in})\)
donde \(\small Z^{*}_{in} (n = 1, ..., N)\) es la n-ésima muestra de entrenamiento del conjuntos de datos con \(\small x\) caracterÃsticas de entrada y respuesta \(\small y\).
Un pequeño repaso
El valor óptimo del parámetro de bosque aleatorio, asà como el número de ramas, muestras divididas y el nodo de hoja de la muestra, se requiere para averiguar mediante el ajuste de hiperparámetros. Sin embargo, los creadores de este método recomiendan usar \(\small nfeatures = \frac{1}{3}m\) donde \(\small m\) es el número de caracterÃsticas de los datos y el nodo dividido mÃnimo es cinco.
Un pequeño repaso
2. Support vector regression (regresión de vector de soporte)
Un pequeño repaso
La máquina de vector de soporte (abreviada como SVM) son algoritmos supervisados de machine learning que encuentran un lÃmite o lÃnea que describe efectivamente los datos de entrenamiento, ya sea dando la mayor separación posible entre el lÃmite y los puntos de datos de entrenamiento en cada lado (clasificación) o encontrando la lÃnea lo más cerca posible del mayor número de puntos de entrenamiento (regresión).
Un pequeño repaso
Una máquina de vector de soporte piensa en observaciones individuales (filas) en un conjunto de datos como puntos trazados en un espacio n-dimensional, donde n es el número de variables predictoras que se está utilizando para describir la variable respuesta.
Por ejemplo, si se tiene dos variables, A y B, los puntos se trazarán en un espacio bidimensional en función de los valores de cada variable predictiva:
Un pequeño repaso
Después de determinar dónde existen las observaciones en el espacio n-dimensional, un SVM identifica un hiperplano llamado lÃmite de decisión que separa los datos. Por definición, un hiperplano siempre tendrá una dimensión menos que el espacio de datos en el que está construido.
Por ejemplo, si se está trabajando en un espacio tridimensional, el hiperplano tendrá dos dimensiones, y si el espacio es bidimensional, el hiperplano será una lÃnea.
Un pequeño repaso
Un SVM intenta identificar un lÃmite de decisión óptimo que separe claramente las diferentes clasificaciones de la variable respuesta. El lÃmite de decisión de un SVM está determinado por vectores de soporte. Este admite puntos de vectores que están más cerca del borde de cada clase, los cuales son los puntos más difÃciles de clasificar correctamente.
Un pequeño repaso
La distancia entre el hiperplano y los vectores de soporte se llaman márgenes.
El objetivo de un SVM en regresión consiste en intentar ajustar todos los puntos dentro del margen del hiperplano y minimizar el número de puntos que quedan fuera del margen.
Un pequeño repaso
Cuando el conjunto de datos no se puede separar por una lÃnea recta, se suele emplear una función de kernel.
Esta función se usa para transformar los datos en un espacio de dimensión superior para separarlos linealmente. Convierte un problema no separable en uno separable al aumentar el número de dimensiones en el espacio del problema y mapear los puntos de datos a un nuevo espacio.
El hiperplano que separa efectivamente los puntos en un espacio problemático de mayor dimensión se asigna nuevamente al espacio problema original, lo que da como resultado una solución no lineal: →
Un pequeño repaso
Un pequeño repaso
Matemáticamente, la SVR no lineal se formula dado por:
\[\small y = f(x) = \langle w, \varphi(x) \rangle + b\]
donde \(\small w\) es un vector de peso, \(\small \varphi(.)\) es la función de mapeo de caracterÃsticas y \(\small b\) es el error independiente e idénticamente distribuido o el término de sesgo. Además, SVR utiliza la función de pérdida \(\small \epsilon\) de Vapnik que define un margen o tolerancia a errores. A mayor valor de \(\small \epsilon\), se toleran los errores más grandes. En contraste, establecer el valor \(\small \epsilon\) en cero significa que cada error será penalizado.
\[\small L_{\epsilon}(y_{i}, f \langle x_{i}, w \rangle) = \begin{cases} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; 0, \;\;si |y_{i} - f\langle x_{i}, w \rangle| \leqslant \epsilon \\ |y_{i} - f\langle x_{i}, w \rangle|, \;\;si |y_{i} - f\langle x_{i}, w \rangle| \geqslant \epsilon \end{cases} \]
Un pequeño repaso
SVR resuelve la regresión lineal en datos n-dimensionales con \(\small n>1\) utilizando la función de pérdida y reduciendo la complejidad del modelo al minimizar el vector \(\small |w|\) que se induce la variable de holgura \(\small \xi_{i}\), para \(\small i = 1, ..., n\) para estimar la desviación de las muestras de entrenamiento ubicadas fuera del margen \(\small \epsilon\), de modo que:
\[\small minimizar\left(\frac{1}{2}||w||^{2} + C \sum_{i}^{n}(\xi_{i} + \xi_{i}^{*}) \right)\]
\[ \small sujeto \; a \begin{cases} y_{i} - f\langle x_{i}, w\rangle - b \leqslant \epsilon + \xi_{i} \\ f\langle x_{i}, w\rangle + b - y_{i} \leqslant \epsilon + \xi_{i}^{*} \\ \xi_{i}, \xi_{i}^{*} \geqslant 0 \end{cases} \]
→
Un pequeño repaso
\[ \small |\xi|_{\epsilon} := \begin{cases} \;\;\;\;0 \;\;\;\;\;\;si \; |\xi| \leqslant \epsilon \\ |\xi| - \epsilon \;\;\;\;de \; otra \; manera \end{cases} \]
Donde se introduce \(\small C\) como parámetros de regularización. Se usa como factor de penalización; un valor constante enorme de \(\small C\) puede inducir un sobreajuste, mientras que un valor mÃnimo de \(\small C\) puede inducir un ajuste insuficiente. La fórmula de optimización se puede transformar en un problema dual \(\small \alpha_{p}\) y \(\small \alpha_{p}^{*}\) para cada punto de datos de la siguiente manera:
\[\small f(x_{i}) = \sum_{p, q = 1}^{n}(\alpha_{pi}-\alpha_{pi}^{*})k(x_{pi}, x_{qi})+b\]
→
Un pequeño repaso
donde \(\small \alpha_{i} \geqslant 0\) y \(\small C \geqslant \alpha_{i}^{*}\) y \(\small K(x_{pi}, x_{qi})\) es la función de kernel para \(\small i, p, q = 1, ..., n\). Hay tres kernel de uso común; a saber, la base radial lineal, polinómica y gaussiana.
Es importante seleccionar los hiperparámetros (\(\small C\), \(\small \epsilon\) y \(\small \gamma\), por ejemplo) más apropiados de SVR para garantizar una buena generalización del modelo.
Un pequeño repaso
El modelo mixto es un modelo estadÃstico que comprende efectos fijos y efectos aleatorios.
Los modelos de efectos mixtos son adecuados para conjuntos de datos que tienen estructura de clúster. La estructura del clúster puede ser longitudinal (imagen a la izquierda) o jerárquica (imagen a la derecha).
Un pequeño repaso
Matemáticamente, el algoritmo de efectos lineales mixtos está formulado por:
\[\small y_{i} = X_{i}\beta + Z_{i}b_{i} + \epsilon_{i}\]
donde \(\small y_{i} = [y_{i1}, ..., y_{in_{i}}]^{T}\) es un vector para las \(\small n_{i}\) observaciones en el cluster \(\small i\), \(\small X_{i} = [X_{i1}, ..., X_{in_{i}}]^{T}\) es una matriz de caracterÃsticas de efectos fijos, \(\small Z_{i} = [Z_{i1}, ..., Z_{in_{i}}]^{T}\) es una matriz de caracterÃsticas de efectos aleatorios, \(\small \epsilon_{i} = [\epsilon_{i1}, ..., \epsilon_{in_{i}}]^{T}\) es un de vector error desconocido, \(\small b_{i} = (b_{i1}, ..., b_{in_{i}})^T\) es un vector desconocido de coeficientes de efectos aleatorios en el grupo \(\small i\), y \(\small \beta\) es un vector desconocido de coeficientes de efectos fijos.
Un pequeño repaso
En los efectos lineales mixtos de la formula anterior, se supone que \(\small b_{i}\) y \(\small \epsilon_{i}\) son independientes e idénticamentes distribuidos como \(\small b_{i} \sim N (0, D)\) y \(\small \epsilon_{i} \sim N(0, R_{i})\) donde \(\small N\) se refiere a la distribución normal, mientras que \(\small D\) y \(\small R_{i}\) son matrices diagonales de \(\small b_{i}\) y \(\small \epsilon_{i}\) respectivamente.
Un pequeño repaso
Se ha propuesto un enfoque para manejar el clúster en los datos, el machine learning de efectos mixtos.
Un pequeño repaso
1. Bosque aleatorio de efectos mixtos (MERF)
El algoritmo MERF fue propuesto para abordar mediciones repetibles agrupadas y no balanceadas en los conjuntos de datos. MERF es como el modelo de efectos mixtos, excepto que lo efectos fijos \(\small X_{i}\beta\) en la ecuación son reemplazados por la función aleatoria del bosque \(\small \hat{f^{I}}(x)\) para estimar coeficientes fijos:
\[\small y_{i} = \hat{f^{I}}(x) + Z_{i}b_{i} + \epsilon_{i}\]
Un pequeño repaso
Un pequeño repaso
2. Regresión de vector de soporte de efectos mixtos
Problema: Los autores mencionan que los modelos comunmente usados (en este caso, con datos longitudinales) trabajan bajo supuestos hechos en la distribución de los datos y del modelo… los métodos tradicionales tienen una fuerte dependencia de los supuestos.
En comparación con los métodos tradicionales, los métodos de machine learning no requieren suposiciones sobre la distribución de los datos, y utilizan la validación cruzada para juzgar la calidad del modelo en su lugar.
Los datos consisten de 79 vacas que comen tres alimentos diferentes: alimento con cebada, alimento con lupino blanco, y un mixto de cebada y lupino blanco. Se observa luego el contenido proteico de la leche producida en cada vaca en diferentes periodos.
Las variables de los datos son dieta, vaca, semana y proteÃna.
Se uso el enfoque del modelo mixto de efectos aleatorios. Este modelo agregará las diferencias entre diferentes individuos como una parte aleatoria, para reflejar el efecto del individuo en sus mediciones repetidas. Su forma general es:
\[\small y_{i} = X_{i}\beta_{i} + Z_{i}b_{i} + \epsilon_{i}, \;\;\;\; i = 1, 2, ..., N\]
La variable proteÃna se uso como variable dependiente, y las otras como independientes. Las variables independientes semana y dieta fueron efectos fijos y efectos aleatorios. La expresión del modelo es: →
a = lme(protein ~ week + diet, random = ~ week + diet | cow, w)
Aquà lme es una función del modelo mixto de efectos aleatorios lineales y w es el nombre de los datos.
El conjunto de entrenamiento se establece desde la quinta semana, y las observaciones de las otras semanas se usan como conjunto de prueba y se cambia el conjunto de entrenamiento (el conjunto de entrenamiento se incrementa gradualmente) para hacer predicciones.
El error usado en el artÃculo es el error cuadrático medio normalizado (NMSE):
\[\small NMSE = \frac{(y - \hat y)^2}{(y - \bar y)^2} = \frac{\sum(y - \hat y)^2}{\sum(y - \bar y)^2}\]
En la figura 1 los autores vieron una tendencia obvia: a medida que el conjunto de entrenamiento era más grande, el NMSE era menor (el
efecto de predicción era mejor).
En el articulo, los autores mencionan que el poder interpretativo de los métodos de machine learning es peor que los métodos tradicionales:
… sin embargo su capacidad de predicción es mucho mejor.
Para los métodos de machine learning, se elimino la variable vaca dado que dichos métodos son inútiles para los números de serie. De manera cÃclica, los métodos de machine learning y los modelos lineales se utilizaron para modelar, y el conjunto de entrenamiento se cambio para la validación cruzada.
El gráfico de NMSE resultante se muestra en la figura a continuación.
En la figura anterior, la predicción de los modelos lineales no es tan buena como la de los métodos de machine learning. Sin embargo, la predicción del modelo lineal funciona mejor a medida que aumenta el conjunto de entrenamiento, siendo muy cercano al método de machine learning cuando se utilizan las primeras 12 semanas como conjunto de entrenamiento para construir el modelo.
No importa el método de machine learning, la predicción de estos datos es similar y es robusta (apenas cambia con el cambio del conjunto de entrenamiento).
El siguiente es el valor de NMSE y el gráfico de NMSE para los modelos empleados en R.
Se puede ver que la predicción de los datos por el método de machine learning es mucho mejor que el método tradicional.
Conlusión
El efecto de predicción de los métodos de machine learning es mucho mejor que el modelo lineal tradicional y el de efectos mixtos. Pero si el propósito de los datos es para inferencia, los métodos tradicionales pueden ser más explicativos. En la práctica, el modelo óptimo debe seleccionarse de acuerdo con las caracterÃsticas de los datos.
Trabajo 2: Using artificial neural network to predict body weights of rabbits